﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

namespace YanShu.Entity
{
    [JsonObject("CommonEntity")]
    class CommonEntity
    {

        /** 账户 **/
        [JsonProperty("account")]
        private String account;

        /** 密码 **/
        [JsonProperty("password")]
        private String password;

        /** 域名 **/
        [JsonProperty("domain")]
        private String domain;

        /** 令牌 **/
        [JsonProperty("token")]
        private String token;

        /** 连接信息 **/
        [JsonProperty("lanInfo")]
        private String lanInfo;
        /** 连接信息 **/
        [JsonProperty("clientIp")]
        private String clientIp;
        // 状态码
        [JsonProperty("code")]
        private String code;
        [JsonProperty("laninfos")]
        private List<LanInfo> lanInfos = new List<LanInfo>();

        public List<LanInfo> GetLanInfos()
        {
            return lanInfos;
        }

        public void SetLanInfos(List<LanInfo> lanInfos)
        {
            this.lanInfos = lanInfos;
        }

        public String GetClientIp()
        {
            return clientIp;
        }

        public void SetClientIp(String clientIp)
        {
            this.clientIp = clientIp;
        }

        public String GetCode()
        {
            return code;
        }

        public void SetCode(String code)
        {
            this.code = code;
        }

        public String GetAccount()
        {
            return account;
        }

        public void SetAccount(String account)
        {
            this.account = account;
        }

        public String GetPassword()
        {
            return password;
        }

        public void SetPassword(String password)
        {
            this.password = password;
        }

        public String GetDomain()
        {
            return domain;
        }

        public void SetDomain(String domain)
        {
            this.domain = domain;
        }

        public String GetToken()
        {
            return token;
        }

        public void SetToken(String token)
        {
            this.token = token;
        }

        public String GetLanInfo()
        {
            return lanInfo;
        }

        public void SetLanInfo(String lanInfo)
        {
            this.lanInfo = lanInfo;
        }

    }
    class LanInfo
    {
        [JsonProperty("publicDomain")]
        String publicDomain;
        [JsonProperty("publicPort")]
        String publicPort;
        [JsonProperty("privateHost")]
        String privateHost;
        [JsonProperty("privatePort")]
        String privatePort;
        [JsonProperty("proxyStatus")]
        int proxyStatus;

        public void SetProxyStatus(int proxyStatus)
        {
            this.proxyStatus = proxyStatus;
        }
        public int GetProxyStatus()
        {
            return proxyStatus;
        }

        public void SetPublicDomain(String publicDomain) {
            this.publicDomain = publicDomain;
        }
        public String GetPublicDomain()
        {
            return publicDomain;
        }
        public void SetPublicPort(String publicPort)
        {
            this.publicPort = publicPort;
        }
        public String GetPublicPort()
        {
            return publicPort;
        }
        public void SetPrivateHost(String privateHost)
        {
            this.privateHost = privateHost;
        }
        public String GetPrivateHost()
        {
            return privateHost;
        }
        public void SetPrivatePort(String privatePort)
        {
            this.privatePort = privatePort;
        }
        public String GetPrivatePort()
        {
            return privatePort;
        }
    }
}
